﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        Thread thdPopForm = null;
        TooltipForm _tooltipForm = new TooltipForm();

        public Form1()
        {
            InitializeComponent();
            Control.CheckForIllegalCrossThreadCalls = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (thdPopForm != null)
                return;

            //Cursor oriCur = this.Cursor;
            //this.Cursor = Cursors.WaitCursor;

            //step1
            //ShowTooltipForm("正在进行步骤 一 ，请稍候……");
            //thdPopForm = new Thread(PopTooltipForm);
            //thdPopForm.Start("正在进行步骤 一 ，请稍候……");

            PopForm popForm = new PopForm();
            popForm.Show(this, "正在进行步骤 一 ，请稍候……");


            int j = 0;
            for (int i = 0; i < 999999999; i++)
            {
                j = i + j;
            }

            label1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");

            //ColseTooltipForm();
            //popForm.Close();

            //thdPopForm.Abort();
            //thdPopForm = null;

            //if (_tooltipForm != null)
            //    _tooltipForm.Close();

            //step2
            //ShowTooltipForm("正在进行步骤 二 ，请稍候……");
            //popForm = new PopForm();
            popForm.Show(this,"正在进行步骤 二 ，请稍候……");
            //thdPopForm = new Thread(PopTooltipForm);
            //thdPopForm.Start("正在进行步骤 二 ，请稍候……");

            j = 0;
            for (int i = 0; i < 999999999; i++)
            {
                j = i + j;
            }

            label1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");

            //ColseTooltipForm();
            popForm.Close();
            //thdPopForm.Abort();
            //thdPopForm = null;

            //if (_tooltipForm != null)
            //    _tooltipForm.Close();

            //this.Cursor = oriCur;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            GERI.MES.Utilities.AsyncPromptWindow.PopForm popForm = new GERI.MES.Utilities.AsyncPromptWindow.PopForm();
            
            popForm.Show(this, "正在进行步骤 一 ，请稍候……");
            //做点耗时的事……
            int j = 0;
            for (int i = 0; i < 999999999; i++)
            {
                j = i + j;
            }
            label1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");

            popForm.Show(this, "正在进行步骤 二 ，请稍候……");
            //做点耗时的事……
            j = 0;
            for (int i = 0; i < 999999999; i++)
            {
                j = i + j;
            }

            label1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");


            popForm.Close();
        }


        //private void ShowTooltipForm(string message)
        //{
        //    thdPopForm = new Thread(PopTooltipForm);
        //    thdPopForm.Start(message);
        //}

        //private void ColseTooltipForm()
        //{
        //    thdPopForm.Abort();
        //    thdPopForm = null;

        //    if (_tooltipForm != null)
        //        _tooltipForm.Close();
        //}

        //private void PopTooltipForm(object obj)
        //{
        //    if (_tooltipForm != null)
        //        _tooltipForm.Close();

        //    _tooltipForm = new TooltipForm(obj.ToString());
        //    _tooltipForm.ShowDialog();
        //}


    }
}
